package com.yanmaohu.yulia.statement;

import com.yanmaohu.yulia.bean.CharacterSetName;
import com.yanmaohu.yulia.bean.SchemaElement;
import com.yanmaohu.yulia.bean.SchemaQualifiedName;

/**
 * @author Bright Lee
 */
public final class CollationDefinition implements SchemaElement, SqlSchemaDefinitionStatement, Statement {

    private int beginIndex;
    private int endIndex;
    private SchemaQualifiedName collationName;
    private CharacterSetName characterSetSpecification;
    private SchemaQualifiedName existingCollationName;
    private boolean noPad;
    private boolean padSpace;

    public CollationDefinition(int beginIndex,
                               int endIndex,
                               SchemaQualifiedName collationName,
                               CharacterSetName characterSetSpecification,
                               SchemaQualifiedName existingCollationName,
                               boolean noPad,
                               boolean padSpace) {
        this.beginIndex = beginIndex;
        this.endIndex = endIndex;
        this.collationName = collationName;
        this.characterSetSpecification = characterSetSpecification;
        this.existingCollationName = existingCollationName;
        this.noPad = noPad;
        this.padSpace = padSpace;
    }

    @Override
    public int getBeginIndex() {
        return beginIndex;
    }

    @Override
    public int getEndIndex() {
        return endIndex;
    }

    public SchemaQualifiedName getCollationName() {
        return collationName;
    }

    public CharacterSetName getCharacterSetSpecification() {
        return characterSetSpecification;
    }

    public SchemaQualifiedName getExistingCollationName() {
        return existingCollationName;
    }

    public boolean isNoPad() {
        return noPad;
    }

    public boolean isPadSpace() {
        return padSpace;
    }

}
